package com.tax.common.tool.option.secure;



import java.io.File;
import java.io.InputStream;

public interface ISafe {
	/**
	 * 计算字符串转MD5
	 * @param str 需要转换的文字
	 * @return MD5密文
	 */
	public String getString2MD5(String str);
	/**
	 * 计算文件MD5
	 * @param file 所需文件
	 * @return MD5值
	 */
	public String getFile2MD5(File file);
	/**
	 * 计算输入流MD5值
	 * @param fileInputStream
	 * @return
	 */
	public String getInputStream2MD5(InputStream inputStream);
	/**
	 * 将密码生成密钥
	 * @param password 密码
	 * @return 密钥 字符串
	 */
	public String getKey(String password);
	/**
	 * 把账号密码通过密钥加密
	 * @param accountPassword 账号密码
	 * @param key 密钥
	 * @return 密文
	 */
	public String getCiphertext(String accountPassword,String key);
	/**
	 * 将密文解密
	 * @param Ciphertext 密文
	 * @param key        密钥
	 * @return           密码
	 */
	public String deciphering(String Ciphertext,String key);
	/**
	 * 将图片及文件转化为base64字符
	 * @param imgPath
	 * @return
	 */
	public String getPicBase64(String imgPath);
	public String strToBase64Str(String str);
}
